package com.cqjtu.education.service;

import com.cqjtu.education.entity.CourseData;
import com.github.pagehelper.Page;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;


/**
 * (CourseData)表服务接口
 *
 * @author makejava
 * @since 2022-04-20 15:47:52
 */
public interface CourseDataService {

    /**
     * 查找某一目录下的文件
     *
     * @param parentPath 父目录
     * @return List<CourseData>
     */
    List<CourseData> queryByParentPath(String parentPath);

    /**
     * 通过ID查询单条数据
     *
     * @param dataId 主键
     * @return 实例对象
     */
    CourseData queryById(String dataId);


    /**
     * 新增数据
     * 上传文件
     *
     * @param courseData    实例对象
     * @param multipartFile 文件
     * @return 实例对象
     */
    CourseData insert(CourseData courseData, MultipartFile multipartFile);


    /**
     * 重命名文件
     * 不能重命名文件夹！！！不能对课程名称进行修改！！！
     *
     * @param newName    id
     * @param objectName 文件的父路径
     * @param newName    新名字
     * @return 是否成功
     */
    CourseData rename(String dataId, String objectName, String newName);

    /**
     * 新建文件夹
     *
     * @param courseData 文件实体类
     * @return 影响行数
     */
    int newFolder(CourseData courseData);

    /**
     * 通过主键删除数据
     *
     * @param dataId 主键
     * @return 是否成功
     */
    int delete(String dataId, String objectName);

    /**
     * 批量删除
     *
     * @param objectNameList 所选文件
     * @return 影响行数
     */
    int deleteByBatch(List<String> dataIdList, List<String> objectNameList);

    /**
     * 删除文件夹
     *
     * @param objectName 路径
     * @return 是否成功
     */
    int deleteFolder(String dataId, String objectName);
}
